﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;
using Prisa.Entities;
using System.Reflection;
using System.IO;

namespace Prisa.DataAccess
{
    public class PrisaDatabaseInitializer : DropCreateDatabaseAlways<PRISAContext>
    {
        protected override void Seed(PRISAContext context)
        {
            if (context == null)
                throw new ArgumentNullException("context");
            GetImpuestoBoleta().ForEach(p => context.IMPUESTOes.Add(p));
            GetClienteVarios().ForEach(p => context.CLIENTEs.Add(p));
            GetCategorias().ForEach(p => context.CATEGORIAs.Add(p));
        }

        static List<IMPUESTO> GetImpuestoBoleta()
        {
            var impuestoBoleta = new List<IMPUESTO>
            {
                new IMPUESTO {Descripcion = "SÓLO PARA BOLETAS".ToUpper(),Porcentaje = Convert.ToDecimal("0.00"),Activo = false},
                new IMPUESTO {Descripcion = "IMPUESTO AÑO 2013 - FACTURAS".ToUpper(),Porcentaje = Convert.ToDecimal("0.18"),Activo = true},
                new IMPUESTO {Descripcion = "MONTO MÍNIMO PARA BOLETAS".ToUpper(),Porcentaje = Convert.ToDecimal("2.50"),Activo = false},
                new IMPUESTO {Descripcion = "MONTO MÍNIMO PARA FACTURAS".ToUpper(),Porcentaje = Convert.ToDecimal("5.00"),Activo = false},
                new IMPUESTO {Descripcion = "MONTO MÍNIMO PARA STOCK".ToUpper(),Porcentaje = Convert.ToDecimal("5.00"),Activo = false},
            };
            return impuestoBoleta;
        }
        static List<CLIENTE> GetClienteVarios()
        {
            var clienteVarios = new List<CLIENTE>
            {
                new CLIENTE {Direccion = "CLIENTE VARIOS",DniRuc="00000000", Email="",NombreRazonSocial="CLIENTE VARIOS", Telefono=" "},
            };
            return clienteVarios;
        }

        static List<CATEGORIA> GetCategorias()
        {
            var dulce = Convert.ToDecimal("0.20");
            var bebidas = Convert.ToDecimal("0.15");
            var utiles = Convert.ToDecimal("0.20");
            var biblias = Convert.ToDecimal("0.30");
            var libros = Convert.ToDecimal("0.20");
            var copias = Convert.ToDecimal("0.10");
            var bazar = Convert.ToDecimal("0.40");
            var servicios = Convert.ToDecimal("0.10");

            var categorias = new List<CATEGORIA>
            {
                new CATEGORIA {Descripcion = "DULCES", Porcentaje = dulce },
                new CATEGORIA {Descripcion = "BEBIDAS", Porcentaje = bebidas},
                new CATEGORIA {Descripcion = "UTILES ESCOLARES", Porcentaje = utiles},
                new CATEGORIA {Descripcion = "BIBLIAS", Porcentaje = biblias},
                new CATEGORIA {Descripcion = "LIBROS Y REVISTAS", Porcentaje = libros},
                new CATEGORIA {Descripcion = "COPIAS Y ANILLADOS", Porcentaje = copias},
                new CATEGORIA {Descripcion = "BAZAR", Porcentaje = bazar},
                new CATEGORIA {Descripcion = "SERVICIOS VARIOS", Porcentaje=servicios},
            };
            return categorias;
        }
    }
}
